// API响应类型
export interface ApiResponse<T = any> {
  code: number;
  msg: string;
  data: T;
}

export interface RoleListResponse {
  list: Role[];
  total: number;
}

// 角色查询参数
export interface RoleQueryParams {
  roleName?: string;
  roleKey?: string;
  status?: string;
  start?: number;
  pageSize?: number;
}

// 角色表单
export interface RoleForm {
  roleId?: number;
  roleName: string;
  roleKey: string;
  status: number;
  remark?: string;
}

// 角色信息
export interface Role extends RoleForm {
  createBy?: number;
  createByName?: string;
  updateBy?: number;
  updateByName?: string;
  createTime?: string;
  updateTime?: string;
}

// 菜单信息
export interface Menu {
  menuId: number;
  menuName: string;
  parentId: number;
  menuType?: string;
  permission?: string;
  icon?: string;
  path?: string;
  children?: Menu[];
}

// 角色权限
export interface RolePermission {
  roleId: number;
  menuIds: number[];
}
